const { ccclass, property } = cc._decorator;

@ccclass
export class FMMN_loginhonus extends cc.Component {
    // 遮罩节点
    private maskNode: cc.Node = null;

    // 窗口节点（预制体根节点）
    private windowNode: cc.Node = null;

    onLoad() {
        this.windowNode = this.node;

        // 创建遮罩节点
        this.createMask();

        // 确保窗口显示在最前面
        this.windowNode.zIndex = 100;
    }

    // 创建遮罩
    createMask() {
        // 创建遮罩节点
        this.maskNode = new cc.Node('WindowMask');

        // 添加组件
        const sprite = this.maskNode.addComponent(cc.Sprite);
        const blockInput = this.maskNode.addComponent(cc.BlockInputEvents);

        // 设置遮罩颜色（半透明黑色）
        sprite.type = cc.Sprite.Type.SIMPLE;
        sprite.sizeMode = cc.Sprite.SizeMode.CUSTOM;
        sprite.color = cc.Color.BLACK;
        sprite.node.opacity = 150; // 150/255 透明度

        // 设置遮罩大小覆盖整个屏幕
        this.maskNode.setContentSize(cc.winSize);

        // 添加到窗口节点下（作为第一个子节点）
        this.windowNode.addChild(this.maskNode, -1); // 置于最底层

        // 确保点击遮罩不会穿透
        this.maskNode.setPosition(cc.Vec2.ZERO);
    }

    // 关闭窗口
    closeWindow() {
        // 播放关闭动画
        cc.tween(this.windowNode)
            .to(0.2, { scale: 0.8, opacity: 0 })
            .call(() => {
                // 销毁整个窗口（包括遮罩）
                this.windowNode.destroy();
            })
            .start();
    }
}